package com.iap.report.context
{
	import com.iap.app.data.AppData;
	import com.iap.app.data.IAppData;
	import com.iap.common.command.FavoriteCommand;
	import com.iap.common.command.InstanceCommand;
	import com.iap.common.command.InstanceFavoriteCommand;
	import com.iap.common.command.ReportCommand;
	import com.iap.common.service.FavoriteService;
	import com.iap.common.service.IFavoriteService;
	import com.iap.common.service.IInstanceFavoriteService;
	import com.iap.common.service.IInstanceService;
	import com.iap.common.service.IReportService;
	import com.iap.common.service.InstanceFavoriteService;
	import com.iap.common.service.InstanceService;
	import com.iap.common.service.ReportService;
	import com.iap.common.signal.FavoriteRequestSignal;
	import com.iap.common.signal.InstanceFavoriteRequestSignal;
	import com.iap.common.signal.InstanceRequestSignal;
	import com.iap.report.mediator.ReportMediator;
	import com.iap.report.signal.ReportRequestSignal;
	import com.iap.report.view.ReportView;
	
	import flash.display.DisplayObjectContainer;
	
	import org.robotlegs.mvcs.SignalContext;
	
	public class ReportContext extends SignalContext
	{
		override public function startup():void
		{
			injector.mapSingletonOf(IAppData, AppData);
			injector.mapSingletonOf(IInstanceService, InstanceService);
			injector.mapSingletonOf(IReportService, ReportService);

			signalCommandMap.mapSignalClass(InstanceRequestSignal, InstanceCommand);
			signalCommandMap.mapSignalClass(ReportRequestSignal, ReportCommand);

			mediatorMap.mapView(ReportView, ReportMediator);
		}
	}
}